package main

/*
import (
	"auusoft/AuuWiki/controllers"
	"auusoft/AuuWiki/controllers/userctr"
	"fmt"
	"github.com/astaxie/beego"
	"strconv"
)

func main() {
	beego.SessionOn = true
	beego.SessionName = "AuuTaskListId"

	//读配置文件，session的保存期限
	if ar, err := beego.AppConfig.Int("sessiongcmaxlifetime"); err == nil && ar != 0 {
		int64val, _ := strconv.ParseInt(strconv.Itoa(ar), 10, 64)
		beego.SessionGCMaxLifetime = int64val
		fmt.Println("Read AppConfig file: Session max lift time is", int64val)
	} else {
		//如果读取失败，默认1200s，现在感觉这个时间不准呢
		fmt.Println("Read AppConfig file: Session max lift time is 1200")
		beego.SessionGCMaxLifetime = 1200
	}

	//注册controller
	beego.RegisterController("/", &controllers.MainController{})
	beego.RegisterController("/edit", &controllers.EditController{})
	beego.RegisterController("/login", &controllers.LoginController{})
	beego.RegisterController("/userctr/userlist", &userctr.UserlistController{})
	beego.RegisterController("/userctr/useradd", &userctr.UserAddController{})
	beego.RegisterController("/userctr/deluser", &userctr.UserDeleteController{})
	beego.RegisterController("/userctr/cp", &userctr.ChangePasswordController{})

	fmt.Println("Auu Wiki service is listening on port:", beego.HttpPort)
	beego.Run()
}
*/

import "fmt"

//import "runtime"

func main() {
	ch := make(chan string)
	go say(ch)
	for i := range ch {
		fmt.Print(i)
	}

}

func say(out chan string) {
	for i := 1; i <= 9; i++ {
		for j := 1; j <= 9; j++ {
			if i <= j {
				out <- fmt.Sprintf("%dx%d=%d\t", i, j, i*j)
			}
		}
		out <- "\r\n"
	}
	close(out)
}
